import gdal
import numpy as np
path = 'yuhuazhai_01.tif' #只需要tif文件
root_path = 'E:\\my_progs\\opencv\\yuhuazhai\\'+path
dataset = gdal.Open(root_path)
width = dataset.RasterXSize         # 获取数据宽度
height = dataset.RasterYSize        # 获取数据高度
outbandsize = dataset.RasterCount   # 获取数据波段数
im_geotrans = dataset.GetGeoTransform()  # 获取仿射矩阵信息
im_proj = dataset.GetProjection()  # 获取投影信息
datatype = dataset.GetRasterBand(1).DataType
im_data = dataset.ReadAsArray()
re_data = np.where(im_data < 1, im_data, 255)  #小于1的不变，其他更换为255
# 数据保存
driver = gdal.GetDriverByName("GTiff")
outdataset = driver.Create('E:\\my_progs\\opencv\\output\\'+path, width, height, outbandsize, datatype)
if (outdataset != None):
    outdataset.SetGeoTransform(im_geotrans)  # 写入仿射变换参数
    outdataset.SetProjection(im_proj)  # 写入投影
for i in range(outbandsize):
    outdataset.GetRasterBand(i+1).WriteArray(re_data)
del outdataset
